package main

import (
	"fmt"
	"github.com/go-redis/redis"
)

/*
	redis库
	redis作用: cache缓存、队列、排行榜
	redis数据类型:string（字符串）、list（列表）、sets（集合）、hashes（哈希）、sortset（有序集合）
*/
//声明一个全局变量
var rdb *redis.Client

//初始化连接
func initRedis() (err error) {
	rdb := redis.NewClient(&redis.Options{
		Addr:     "192.168.47.136:7001",
		Password: "",
		DB:       0,
	})
	_, err = rdb.Ping().Result()
	if err != nil {
		return err
	}
	return nil
}
func ZaddSet() {
	zsetKey := "rank"
	languages := []redis.Z{
		{Score: 90.0, Member: "Golang"},
		{Score: 98.0, Member: "Java"},
		{Score: 95.0, Member: "Python"},
		{Score: 97.0, Member: "JavaScript"},
		{Score: 99.0, Member: "C/C++"},
	}
	//	把元素追加到key
	err := rdb.ZAdd(zsetKey, languages...).Err()
	if err != nil {
		fmt.Printf("zadd failed,err:%v\n", err)
		return
	}
	fmt.Printf("zadd  success\n")
}

//连接示例
func main() {
	err := initRedis()
	if err != nil {
		fmt.Printf("redis connect failed,err:%v\n", err)
		return
	}
	fmt.Println("redis连接成功")
	//	zset数据类型示例
	ZaddSet()
}
